package day03;

public class OperDemo3 {
    public static void main(String[] args) {
        //逻辑运算 &&与  ！非（取反） || 或 见ture则true
        int a = 5, b = 10, c = 5;

        //|| 见ture则ture
        System.out.println(b >= a || b < c);//true||false=true
        System.out.println(b != c || a < b);//true||false=true
        System.out.println(a == b || b < c);//false||false=false
        int score = 90;//成绩不合法
        System.out.println(score < 0 || score > 100);
        System.out.println("---------");

        //! 非 （取反）
        //boolean b3 = !a<b 这句话是错的 因为！的优先级高 所以计算机读到的是！5 他就懵了 所以这样写
        boolean b3 = !(a < b);//a<b为true b3=！true 所以等于false
        System.out.println(b3);//false
        System.out.println(!(a > b));//a>b为false !false=true 结果为true
        System.out.println(!(b == a));//true
        System.out.println(!(c < a));//true
        System.out.println("---------");

        //&& 见false则false
        boolean b1 = b >= a && b < c;
        System.out.println(b1);// true&&flase=flase
        System.out.println(b <= c && b > a);//false&&true=false
        System.out.println(a == b && c > b);//false&&false=false
        System.out.println(b != c && a < b);//true&&true=true
        System.out.println(b <= c && a == c);//false&&true=false
        System.out.println(b != c && b != a);//true&&true=true
        System.out.println("---------");

        int age = 40;//如果有一个问题 说年龄要在18到50之间 在java里面 是要包含18和50的
        System.out.println(age >= 18 && age <= 50);

        //要求y要在100到300之间
        int y = 193;
        System.out.println(y >= 100 && y <= 300);//同上 要包含100和300

        //短路与和短路或
        int d=5,e=10,f=5;
        boolean b4 = d > e && f++ > 2;//注意 与 是有false则false 所以b4输出的就是falses
        // 当d>e已经是false时系统不会继续往后 所以f++>2 这一步系统不运行了 所以f输出之后还是5
        System.out.println(b4);
        System.out.println(f);

        boolean b5 = d==f || f++>2;//同上 前半段运行完了已经达成有true则true的结果了 后面f++没运行就
        System.out.println(b5);
        System.out.println(f);

    }
}
